import json
import csv

# 预定义的诗歌数据
poetry_data = {
    '五言绝句': [
        {'title': '行宫', 'author': '元稹', 'content': ['寥落古行宫', '宫花寂寞红', '白头宫女在', '闲坐说玄宗']},
        {'title': '登鹳雀楼', 'author': '王之涣', 'content': ['白日依山尽', '黄河入海流', '欲穷千里目', '更上一层楼']},
        {'title': '新嫁娘词', 'author': '王建', 'content': ['三日入厨下', '洗手作羹汤', '未谙姑食性', '先遣小姑尝']},
        {'title': '相思', 'author': '王维', 'content': ['红豆生南国', '春来发几枝', '愿君多采撷', '此物最相思']},
        {'title': '杂诗', 'author': '王维', 'content': ['君自故乡来', '应知故乡事', '来日绮窗前', '寒梅著花未']},
        {'title': '鹿柴', 'author': '王维', 'content': ['空山不见人', '但闻人语响', '返景入深林', '复照青苔上']},
        {'title': '竹里馆', 'author': '王维', 'content': ['独坐幽篁里', '弹琴复长啸', '深林人不知', '明月来相照']},
        {'title': '山中送别', 'author': '王维', 'content': ['山中相送罢', '日暮掩柴扉', '春草明年绿', '王孙归不归']},
        {'title': '问刘十九', 'author': '白居易', 'content': ['绿蚁新醅酒', '红泥小火炉', '晚来天欲雪', '能饮一杯无']},
        {'title': '哥舒歌', 'author': '西鄙人', 'content': ['北斗七星高', '哥舒夜带刀', '至今窥牧马', '不敢过临洮']},
        {'title': '静夜思', 'author': '李白', 'content': ['床前明月光', '疑是地上霜', '举头望明月', '低头思故乡']},
        {'title': '怨情', 'author': '李白', 'content': ['美人卷珠帘', '深坐颦蛾眉', '但见泪痕湿', '不知心恨谁']},
        {'title': '登乐游原', 'author': '李商隐', 'content': ['向晚意不适', '驱车登古原', '夕阳无限好', '只是近黄昏']},
        {'title': '听筝', 'author': '李端', 'content': ['鸣筝金粟柱', '素手玉房前', '欲得周郎顾', '时时误拂弦']},
        {'title': '渡汉江', 'author': '宋之问', 'content': ['岭外音书断', '经冬复历春', '近乡情更怯', '不敢问来人']},
        {'title': '八阵图', 'author': '杜甫', 'content': ['功盖三分国', '名成八阵图', '江流石不转', '遗恨失吞吴']},
        {'title': '宿建德江', 'author': '孟浩然', 'content': ['移舟泊烟渚', '日暮客愁新', '野旷天低树', '江清月近人']},
        {'title': '春晓', 'author': '孟浩然', 'content': ['春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少']},
        {'title': '春怨', 'author': '金昌绪', 'content': ['打起黄莺儿', '莫教枝上啼', '啼时惊妾梦', '不得到辽西']},
        {'title': '江雪', 'author': '柳宗元', 'content': ['千山鸟飞绝', '万径人踪灭', '孤舟蓑笠翁', '独钓寒江雪']}
    ],
    '七言绝句': [
        {'title': '芙蓉楼送辛渐', 'author': '王昌龄', 'content': ['寒雨连江夜入吴', '平明送客楚山孤', '洛阳亲友如相问', '一片冰心在玉壶']},
        {'title': '闺怨', 'author': '王昌龄', 'content': ['闺中少妇不知愁', '春日凝妆上翠楼', '忽见陌头杨柳色', '悔教夫婿觅封侯']},
        {'title': '春宫曲', 'author': '王昌龄', 'content': ['昨夜风开露井桃', '未央前殿月轮高', '平阳歌舞新承宠', '帘外春寒赐锦袍']},
        {'title': '九月九日忆山东兄弟', 'author': '王维', 'content': ['独在异乡为异客', '每逢佳节倍思亲', '遥知兄弟登高处', '遍插茱萸少一人']},
        {'title': '凉州词', 'author': '王翰', 'content': ['葡萄美酒夜光杯', '欲饮琵琶马上催', '醉卧沙场君莫笑', '古来征战几人回']},
        {'title': '后宫词', 'author': '白居易', 'content': ['泪湿罗巾梦不成', '夜深前殿按歌声', '红颜未老恩先断', '斜倚薰笼坐到明']},
        {'title': '逢入京使', 'author': '岑参', 'content': ['故园东望路漫漫', '双袖龙钟泪不干', '马上相逢无纸笔', '凭君传语报平安']},
        {'title': '黄鹤楼送孟浩然之广陵', 'author': '李白', 'content': ['故人西辞黄鹤楼', '烟花三月下扬州', '孤帆远影碧空尽', '唯见长江天际流']},
        {'title': '早发白帝城', 'author': '李白', 'content': ['朝辞白帝彩云间', '千里江陵一日还', '两岸猿声啼不住', '轻舟已过万重山']},
        {'title': '江南逢李龟年', 'author': '杜甫', 'content': ['岐王宅里寻常见', '崔九堂前几度闻', '正是江南好风景', '落花时节又逢君']}
    ],
    '五言律诗': [
        {'title': '送杜少府之任蜀州', 'author': '王勃', 'content': ['城阙辅三秦', '风烟望五津', '与君离别意', '同是宦游人', '海内存知己', '天涯若比邻', '无为在歧路', '儿女共沾巾']},
        {'title': '山居秋暝', 'author': '王维', 'content': ['空山新雨后', '天气晚来秋', '明月松间照', '清泉石上流', '竹喧归浣女', '莲动下渔舟', '随意春芳歇', '王孙自可留']},
        {'title': '春望', 'author': '杜甫', 'content': ['国破山河在', '城春草木深', '感时花溅泪', '恨别鸟惊心', '烽火连三月', '家书抵万金', '白头搔更短', '浑欲不胜簪']},
        {'title': '赋得古原草送别', 'author': '白居易', 'content': ['离离原上草', '一岁一枯荣', '野火烧不尽', '春风吹又生', '远芳侵古道', '晴翠接荒城', '又送王孙去', '萋萋满别情']},
        {'title': '送友人', 'author': '李白', 'content': ['青山横北郭', '白水绕东城', '此地一为别', '孤蓬万里征', '浮云游子意', '落日故人情', '挥手自兹去', '萧萧班马鸣']}
    ],
    '七言律诗': [
        {'title': '登高', 'author': '杜甫', 'content': ['风急天高猿啸哀', '渚清沙白鸟飞回', '无边落木萧萧下', '不尽长江滚滚来', '万里悲秋常作客', '百年多病独登台', '艰难苦恨繁霜鬓', '潦倒新停浊酒杯']},
        {'title': '锦瑟', 'author': '李商隐', 'content': ['锦瑟无端五十弦', '一弦一柱思华年', '庄生晓梦迷蝴蝶', '望帝春心托杜鹃', '沧海月明珠有泪', '蓝田日暖玉生烟', '此情可待成追忆', '只是当时已惘然']},
        {'title': '黄鹤楼', 'author': '崔颢', 'content': ['昔人已乘黄鹤去', '此地空余黄鹤楼', '黄鹤一去不复返', '白云千载空悠悠', '晴川历历汉阳树', '芳草萋萋鹦鹉洲', '日暮乡关何处是', '烟波江上使人愁']},
        {'title': '闻官军收河南河北', 'author': '杜甫', 'content': ['剑外忽传收蓟北', '初闻涕泪满衣裳', '却看妻子愁何在', '漫卷诗书喜欲狂', '白日放歌须纵酒', '青春作伴好还乡', '即从巴峡穿巫峡', '便下襄阳向洛阳']},
        {'title': '蜀相', 'author': '杜甫', 'content': ['丞相祠堂何处寻', '锦官城外柏森森', '映阶碧草自春色', '隔叶黄鹂空好音', '三顾频烦天下计', '两朝开济老臣心', '出师未捷身先死', '长使英雄泪满襟']}
    ]
}

# 转换为列表格式以便保存为CSV
poems_list = []
for poetry_type, poems in poetry_data.items():
    for poem in poems:
        poems_list.append({
            '类型': poetry_type,
            '标题': poem['title'],
            '作者': poem['author'],
            '内容': '\n'.join(poem['content'])
        })

# 保存为JSON文件
tangshi_json_path = 'tangshi_poems.json'
with open(tangshi_json_path, 'w', encoding='utf-8') as f:
    json.dump(poems_list, f, ensure_ascii=False, indent=2)
print(f'诗歌数据已成功保存到 {tangshi_json_path}')

# 保存为CSV文件
tangshi_csv_path = 'tangshi_poems.csv'
with open(tangshi_csv_path, 'w', encoding='utf-8', newline='') as f:
    fieldnames = ['类型', '标题', '作者', '内容']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(poems_list)
print(f'诗歌数据已成功保存到 {tangshi_csv_path}')
print(f'共保存了 {len(poems_list)} 首诗歌')